﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using RESTScrum.Dominio;
using RESTScrum.Persistencia;
using System.ServiceModel.Web;
using System.Net;

namespace RESTScrum
{
    public class Encuestas : IEncuestas
    {
        private EncuestaDAO dao = new EncuestaDAO();

        public string CrearEncuesta(Encuesta encuestaACrear)
        {
            //Validacion si existe el material creado
            Encuesta existe = ObtenerEncuesta(encuestaACrear.Codigo);

            if (existe != null)
                throw new WebFaultException<Error>(
                    new Error()
                    {
                        CodigoNegocio = "C01",
                        MensajeNegocio = "Encuesta ya existe"
                    },
                    HttpStatusCode.InternalServerError);

            //if ("6".Equals(materialACrear.Codigo))
            //    throw new WebFaultException<string>("Material Errado",
            //        System.Net.HttpStatusCode.NotFound);

            return dao.Crear(encuestaACrear);
        }

        public Encuesta ObtenerEncuesta(string codigo)
        {
            return dao.Obtener(codigo);
        }

        public Encuesta ModificarEncuesta(Encuesta encuestaAModificar)
        {
            return dao.Modificar(encuestaAModificar);
        }

        public void EliminarEncuesta(string codigo)
        {
            dao.Eliminar();
        }

        public List<Encuesta> ListarEncuestas()
        {
            return dao.ListarTodos();
        }

    }
}
